package com.sky.mapper;

import com.sky.entity.ShoppingCart;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * Author: Zheng
 * Date:   2024/2/24  11:30
 * Package：com.sky.mapper
 * Description：
 * Version：1.0
 */
@Mapper
public interface ShoppingCartMapper {

    /**
     * @description： 查询购物车
     * @date：2024/2/24  16:26
     * @return：
     **/
    List<ShoppingCart> listBy(ShoppingCart shoppingCart);

    /**
     * @description：根据购物车id修改数量
     * @date：2024/2/24  17:22
     * @return：
     **/
    @Update("update shopping_cart set number = #{number}  where id = #{id}")
    void update(ShoppingCart cart);

    /**
     * @description： 添加购物车
     * @date：2024/2/24  17:23
     * @return：
     **/
    @Insert("insert into shopping_cart values (null,#{name},#{image},#{userId},#{dishId}" +
            ",#{setmealId},#{dishFlavor},#{number},#{amount},#{createTime})")
    void insert(ShoppingCart shoppingCart);

    /**
     * @description： 根据用户id查询购物车
     * @date：2024/2/24  17:23
     * @return：
     **/
    @Select("select * from shopping_cart where user_id = #{userId}")
    List<ShoppingCart> getByUserId(Long userId);

    /**
     * @description： 根据用户id删除购物车
     * @date：2024/2/24  17:29
     * @return：
     **/
    @Delete("delete from shopping_cart where user_id = #{userId}")
    void deleteByUserId(Long userId);


    /**
     * @description： 根据购物车id删除商品
     * @date：2024/2/24  18:14
     * @return：
     **/
    @Delete("delete from shopping_cart where id = #{id}")
    void deleteById(Long id);
}
